package com.example.wenhua.service;

import com.example.wenhua.entity.Student;
import com.example.wenhua.dto.StudentCreditsSummary;
import java.util.List;

/**
 * 学生业务逻辑接口
 */
public interface StudentService {
    
    /**
     * 查询所有学生
     */
    List<Student> getAllStudents();
    
    /**
     * 根据学号查询学生
     */
    Student getStudentBySno(String sno);
    
    /**
     * 根据系名查询学生
     */
    List<Student> getStudentsByDept(String dept);
    
    /**
     * 新增学生
     */
    boolean addStudent(Student student);
    
    /**
     * 更新学生信息
     */
    boolean updateStudent(Student student);
    
    /**
     * 删除学生
     */
    boolean deleteStudent(String sno);
    
    /**
     * 批量导入学生
     */
    boolean batchImportStudents(List<Student> students);
    
    /**
     * 条件查询学生（支持分页）
     */
    Object queryStudents(com.example.wenhua.dto.StudentQueryRequest request);
    
    /**
     * 根据学号查询学生已修学分总数
     */
    Integer getTotalCreditsBySno(String sno);
    
    /**
     * 查询所有学生的学分统计信息
     */
    List<StudentCreditsSummary> getStudentCreditsSummary();
}